#include "skew.h"

namespace krm {

QMatrix Skew::save()
{

}

QMatrix Skew::skewX(int a)
{
    const qreal deg2rad = M_PI/180;
    qreal b = deg2rad*a;
    qreal tm11 = mat.m11();
    qreal tm12 = mat.m12();
    qreal tm21 = b*mat.m11() +  mat.m21();
    qreal tm22 = b*mat.m12() +  mat.m22();
    qreal l1 = mat.dx();
    qreal l2 = mat.dy();
    QMatrix matt(tm11,tm12,tm21,tm22,l1,l2);
    return matt;
}

QMatrix Skew::skewY(int a)
{
    const qreal deg2rad = M_PI/180;
    qreal b = deg2rad*a;
    qreal tm11 = mat.m11() + b*mat.m21();
    qreal tm12 = mat.m12() + b*mat.m22();
    qreal tm21 = mat.m21();
    qreal tm22 = mat.m22();
    qreal l1 = mat.dx();
    qreal l2 = mat.dy();
    QMatrix matt(tm11,tm12,tm21,tm22,l1,l2);
    return matt;
}


} // end of namespace krm
